<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ES6写法</title>
</head>
<body>
    <script>
    //ES6类写法
    //有单独类的声明,构造函数的声明
    class Person{
        //构造器
         constructor(name, age){
            this.name = name;
            this.age = age;
         }
        //函数
        ShowName () {
        alert("姓名为:" + this.name);
        }
        ShowAge () {
        alert("年龄为:" + this.age);
        }
    }
    let p = new Person("邓超",35);

    //ES6继承写法
    class Worker extends Person{
        constructor(name, age , job){
        //使用super来调用父类的类成员
        super(name,age)
        this.job = job;
        }
        //函数
        Showjob () {
          alert("工作为:" + this.job)
        }
    }
    let w = new Worker("邓超",36,"演员");
    //继承之后可以直接使用父类定义好的方法
    w.ShowName()
    w.ShowAge()
    //worker自己的方法
    w.Showjob()
    </script>
    <!--
     总结: 
     ES6的class统一了一个类的写法,不像ES5杂乱无章,更易于阅读管理
     ES5写起来比较随意,而ES6更加规范
     class的四个关键字:1.class 2.constructor 3.extends 4.super
     好处:
      继承:1.省事,便于扩展
     -->
</body>
</html>